commonlibsse_ng\re\a/
ActorEquipManager.rs

1use crate::re::Actor::Actor;
2use crate::re::BGSEquipSlot::BGSEquipSlot;
3use crate::re::ExtraDataList::ExtraDataList;
4use crate::re::SpellItem::SpellItem;
5use crate::re::TESBoundObject::TESBoundObject;
6use crate::re::TESShout::TESShout;
7
8#[derive(Debug)]
9pub struct ActorEquipManager {
10    ///  - non EBO: BSTSingletonSDM<ActorEquipManager> address
11    __base: [u8; 1], // 0x00
12    pub unk01: bool, // 0x01
13}
14const _: () = assert!(core::mem::size_of::<ActorEquipManager>() == 0x2);
15
16impl ActorEquipManager {
17    /// Returns the singleton instance of `Self`.
18    #[commonlibsse_ng_derive_internal::relocate(
19        cast_as = "*mut *mut ActorEquipManager",
20        default = "None",
21        deref_once,
22        id(se = 514494, ae = 400636)
23    )]
24    pub fn get_singleton() -> Option<&'static ActorEquipManager> {
25        |deref_type: DerefType| unsafe { deref_type.as_ref() }
26    }
27
28    /// Returns the mutable singleton instance of `Self`.
29    #[commonlibsse_ng_derive_internal::relocate(
30        cast_as = "*mut *mut ActorEquipManager",
31        default = "None",
32        deref_once,
33        id(se = 514494, ae = 400636)
34    )]
35    pub fn get_singleton_mut() -> Option<&'static mut ActorEquipManager> {
36        |deref_type: DerefType| unsafe { deref_type.as_mut() }
37    }
38
39    #[allow(clippy::too_many_arguments)]
40    #[commonlibsse_ng_derive_internal::relocate_fn(se_id = 37938, ae_id = 38894)]
41    pub fn equip_object(
42        &mut self,
43        actor: *mut Actor,
44        object: *mut TESBoundObject,
45        extra_data: *mut ExtraDataList,
46        count: u32,
47        slot: *const BGSEquipSlot,
48        queue_equip: bool,
49        force_equip: bool,
50        play_sounds: bool,
51        apply_now: bool,
52    ) {
53    }
54
55    #[commonlibsse_ng_derive_internal::relocate_fn(se_id = 37941, ae_id = 38897)]
56    pub fn equip_shout(&mut self, actor: *mut Actor, shout: *mut TESShout) {}
57
58    #[commonlibsse_ng_derive_internal::relocate_fn(se_id = 37939, ae_id = 38895)]
59    pub fn equip_spell(
60        &mut self,
61        actor: *mut Actor,
62        spell: *mut SpellItem,
63        slot: *mut BGSEquipSlot,
64    ) {
65    }
66
67    #[allow(clippy::too_many_arguments)]
68    #[commonlibsse_ng_derive_internal::relocate_fn(se_id = 37945, ae_id = 38901)]
69    pub fn un_equip_object(
70        &mut self,
71        actor: *mut Actor,
72        object: *mut TESBoundObject,
73        extra_data: *mut ExtraDataList,
74        count: u32,
75        slot: *const BGSEquipSlot,
76        queue_equip: bool,
77        force_equip: bool,
78        play_sounds: bool,
79        apply_now: bool,
80        slot_replace: *const BGSEquipSlot,
81    ) {
82    }
83}